"use strict";
var _amdLoaderGlobal = this, define, AMDLoader;
!function (e) {
    function t() {
        return "undefined" != typeof navigator && navigator.userAgent && navigator.userAgent.indexOf("Windows") >= 0 ? !0 : "undefined" != typeof process ? "win32" === process.platform : !1
    }

    function n() {
        return x ? I.performance.now() : Date.now()
    }

    function r() {
        v = "function" == typeof I.importScripts, m = "undefined" != typeof process && "undefined" != typeof process.versions && "undefined" != typeof process.versions.electron && "renderer" === process.type, M = "undefined" != typeof process && "undefined" != typeof process.versions && "undefined" != typeof process.versions.electron && "browser" === process.type, P = "undefined" != typeof module && !!module.exports, E = new S(v ? new k : P ? new w : new L), b = new _(E), E.setModuleManager(b)
    }

    function o() {
        P || (I.console || (I.console = {}), I.console.log || (I.console.log = function () {
        }), I.console.warn || (I.console.warn = I.console.log), I.console.error || (I.console.error = I.console.log))
    }

    function i() {
        v || P || (window.onload = function () {
            var e, t, n, r = document.getElementsByTagName("script");
            for (e = 0, t = r.length; t > e && !(n = r[e].getAttribute("data-main")); e++) ;
            n && b.defineModule(l.generateAnonymousModule(), [n], null, null, null, new c(new d, ""))
        })
    }

    function s() {
        if (r(), o(), i(), P) {
            var e = I.require || require, t = function (t) {
                b.getRecorder().record(p.NodeBeginNativeRequire, t);
                var n = e(t);
                return b.getRecorder().record(p.NodeEndNativeRequire, t), n
            };
            I.nodeRequire = t, A.nodeRequire = t
        }
        P && !m ? (module.exports = A, define = function () {
            C.apply(null, arguments)
        }, require = A) : ("undefined" != typeof I.require && "function" != typeof I.require && A.config(I.require), m ? define = function () {
            C.apply(null, arguments)
        } : I.define = C, I.require = A, I.require.__$__nodeRequire = t)
    }

    var u = t(), l = function () {
        function e() {
        }

        return e.fileUriToFilePath = function (e) {
            if (e = decodeURI(e), u) {
                if (/^file:\/\/\//.test(e)) return e.substr(8);
                if (/^file:\/\//.test(e)) return e.substr(5)
            } else if (/^file:\/\//.test(e)) return e.substr(7);
            return e
        }, e.startsWith = function (e, t) {
            return e.length >= t.length && e.substr(0, t.length) === t
        }, e.endsWith = function (e, t) {
            return e.length >= t.length && e.substr(e.length - t.length) === t
        }, e.containsQueryString = function (e) {
            return e.indexOf("?") >= 0
        }, e.isAbsolutePath = function (t) {
            return e.startsWith(t, "http://") || e.startsWith(t, "https://") || e.startsWith(t, "file://") || e.startsWith(t, "/")
        }, e.forEachProperty = function (e, t) {
            if (e) {
                var n;
                for (n in e) e.hasOwnProperty(n) && t(n, e[n])
            }
        }, e.isEmpty = function (t) {
            var n = !0;
            return e.forEachProperty(t, function () {
                n = !1
            }), n
        }, e.isArray = function (e) {
            return Array.isArray ? Array.isArray(e) : "[object Array]" === Object.prototype.toString.call(e)
        }, e.recursiveClone = function (t) {
            if (!t || "object" != typeof t) return t;
            var n = e.isArray(t) ? [] : {};
            return e.forEachProperty(t, function (t, r) {
                r && "object" == typeof r ? n[t] = e.recursiveClone(r) : n[t] = r
            }), n
        }, e.generateAnonymousModule = function () {
            return "===anonymous" + e.NEXT_ANONYMOUS_ID++ + "==="
        }, e.isAnonymousModule = function (e) {
            return 0 === e.indexOf("===anonymous")
        }, e.NEXT_ANONYMOUS_ID = 1, e
    }();
    e.Utilities = l;
    var a = function () {
        function e() {
        }

        return e.validateConfigurationOptions = function (e) {
            function t(e) {
                return "load" === e.errorCode ? (console.error('Loading "' + e.moduleId + '" failed'), console.error("Detail: ", e.detail), e.detail && e.detail.stack && console.error(e.detail.stack), console.error("Here are the modules that depend on it:"), void console.error(e.neededBy)) : "factory" === e.errorCode ? (console.error('The factory method of "' + e.moduleId + '" has thrown an exception'), console.error(e.detail), void(e.detail && e.detail.stack && console.error(e.detail.stack))) : void 0
            }

            return e = e || {}, "string" != typeof e.baseUrl && (e.baseUrl = ""), "boolean" != typeof e.isBuild && (e.isBuild = !1), "object" != typeof e.paths && (e.paths = {}), "object" != typeof e.bundles && (e.bundles = []), "object" != typeof e.shim && (e.shim = {}), "object" != typeof e.config && (e.config = {}), "undefined" == typeof e.catchError && (e.catchError = v), "string" != typeof e.urlArgs && (e.urlArgs = ""), "function" != typeof e.onError && (e.onError = t), "object" == typeof e.ignoreDuplicateModules && l.isArray(e.ignoreDuplicateModules) || (e.ignoreDuplicateModules = []), e.baseUrl.length > 0 && (l.endsWith(e.baseUrl, "/") || (e.baseUrl += "/")), e
        }, e.mergeConfigurationOptions = function (t, n) {
            void 0 === t && (t = null), void 0 === n && (n = null);
            var r = l.recursiveClone(n || {});
            return l.forEachProperty(t, function (e, t) {
                "bundles" === e && "undefined" != typeof r.bundles ? l.isArray(t) ? r.bundles = r.bundles.concat(t) : l.forEachProperty(t, function (e, t) {
                    var n = {location: e, modules: t};
                    r.bundles.push(n)
                }) : "ignoreDuplicateModules" === e && "undefined" != typeof r.ignoreDuplicateModules ? r.ignoreDuplicateModules = r.ignoreDuplicateModules.concat(t) : "paths" === e && "undefined" != typeof r.paths ? l.forEachProperty(t, function (e, t) {
                    return r.paths[e] = t
                }) : "shim" === e && "undefined" != typeof r.shim ? l.forEachProperty(t, function (e, t) {
                    return r.shim[e] = t
                }) : "config" === e && "undefined" != typeof r.config ? l.forEachProperty(t, function (e, t) {
                    return r.config[e] = t
                }) : r[e] = l.recursiveClone(t)
            }), e.validateConfigurationOptions(r)
        }, e
    }();
    e.ConfigurationOptionsUtil = a;
    var d = function () {
        function e(e) {
            if (this.options = a.mergeConfigurationOptions(e), this._createIgnoreDuplicateModulesMap(), this._createSortedPathsRules(), this._createShimModules(), this._createOverwriteModuleIdToPath(), "" === this.options.baseUrl) {
                if (P && this.options.nodeRequire && this.options.nodeRequire.main && this.options.nodeRequire.main.filename) {
                    var t = this.options.nodeRequire.main.filename,
                        n = Math.max(t.lastIndexOf("/"), t.lastIndexOf("\\"));
                    this.options.baseUrl = t.substring(0, n + 1)
                }
                if (P && this.options.nodeMain) {
                    var t = this.options.nodeMain, n = Math.max(t.lastIndexOf("/"), t.lastIndexOf("\\"));
                    this.options.baseUrl = t.substring(0, n + 1)
                }
            }
        }

        return e.prototype._createOverwriteModuleIdToPath = function () {
            this.overwriteModuleIdToPath = {};
            for (var e = 0; e < this.options.bundles.length; e++) {
                var t = this.options.bundles[e], n = t.location;
                if (t.modules) for (var r = 0; r < t.modules.length; r++) this.overwriteModuleIdToPath[t.modules[r]] = n
            }
        }, e.prototype._createIgnoreDuplicateModulesMap = function () {
            this.ignoreDuplicateModulesMap = {};
            for (var e = 0; e < this.options.ignoreDuplicateModules.length; e++) this.ignoreDuplicateModulesMap[this.options.ignoreDuplicateModules[e]] = !0
        }, e.prototype._createSortedPathsRules = function () {
            var e = this;
            this.sortedPathsRules = [], l.forEachProperty(this.options.paths, function (t, n) {
                l.isArray(n) ? e.sortedPathsRules.push({from: t, to: n}) : e.sortedPathsRules.push({from: t, to: [n]})
            }), this.sortedPathsRules.sort(function (e, t) {
                return t.from.length - e.from.length
            })
        }, e.prototype._ensureShimModule1 = function (e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                this.shimModules.hasOwnProperty(r) || this._ensureShimModule1(r, [])
            }
            this.shimModules[e] = {
                stack: null,
                dependencies: t,
                callback: null
            }, this.options.isBuild && (this.shimModulesStr[e] = "null")
        }, e.prototype._ensureShimModule2 = function (e, t) {
            this.shimModules[e] = {
                stack: null, dependencies: t.deps || [], callback: function () {
                    for (var e = [], n = 0; n < arguments.length; n++) e[n - 0] = arguments[n];
                    if ("function" == typeof t.init) {
                        var r = t.init.apply(I, e);
                        if ("undefined" != typeof r) return r
                    }
                    if ("function" == typeof t.exports) return t.exports.apply(I, e);
                    if ("string" == typeof t.exports) {
                        for (var o = t.exports.split("."), i = I, s = 0; s < o.length; s++) i && (i = i[o[s]]);
                        return i
                    }
                    return t.exports || {}
                }
            }, this.options.isBuild && ("function" == typeof t.init ? this.shimModulesStr[e] = t.init.toString() : "function" == typeof t.exports ? this.shimModulesStr[e] = t.exports.toString() : "string" == typeof t.exports ? this.shimModulesStr[e] = "function() { return this." + t.exports + "; }" : this.shimModulesStr[e] = JSON.stringify(t.exports))
        }, e.prototype._createShimModules = function () {
            var e = this;
            this.shimModules = {}, this.shimModulesStr = {}, l.forEachProperty(this.options.shim, function (t, n) {
                return n ? l.isArray(n) ? void e._ensureShimModule1(t, n) : void e._ensureShimModule2(t, n) : void 0
            })
        }, e.prototype.cloneAndMerge = function (t) {
            return new e(a.mergeConfigurationOptions(t, this.options))
        }, e.prototype.getOptionsLiteral = function () {
            return this.options
        }, e.prototype._applyPaths = function (e) {
            for (var t, n = 0, r = this.sortedPathsRules.length; r > n; n++) if (t = this.sortedPathsRules[n], l.startsWith(e, t.from)) {
                for (var o = [], i = 0, s = t.to.length; s > i; i++) o.push(t.to[i] + e.substr(t.from.length));
                return o
            }
            return [e]
        }, e.prototype._addUrlArgsToUrl = function (e) {
            var t = e.indexOf("?") >= 0;
            return t ? e + "&" + this.options.urlArgs : e + "?" + this.options.urlArgs
        }, e.prototype._addUrlArgsIfNecessaryToUrl = function (e) {
            return this.options.urlArgs ? this._addUrlArgsToUrl(e) : e
        }, e.prototype._addUrlArgsIfNecessaryToUrls = function (e) {
            if (this.options.urlArgs) for (var t = 0, n = e.length; n > t; t++) e[t] = this._addUrlArgsToUrl(e[t]);
            return e
        }, e.prototype.moduleIdToPaths = function (e) {
            var t = e;
            this.overwriteModuleIdToPath.hasOwnProperty(t) && (t = this.overwriteModuleIdToPath[t]);
            var n;
            if (l.endsWith(t, ".js") || l.isAbsolutePath(t)) l.endsWith(t, ".js") || l.containsQueryString(t) || (t += ".js"), n = [t]; else {
                n = this._applyPaths(t);
                for (var r = 0, o = n.length; o > r; r++) this.isBuild() && "empty:" === n[r] || (l.isAbsolutePath(n[r]) || (n[r] = this.options.baseUrl + n[r]), l.endsWith(n[r], ".js") || l.containsQueryString(n[r]) || (n[r] = n[r] + ".js"))
            }
            return this._addUrlArgsIfNecessaryToUrls(n)
        }, e.prototype.requireToUrl = function (e) {
            var t = e;
            return l.isAbsolutePath(t) || (t = this._applyPaths(t)[0], l.isAbsolutePath(t) || (t = this.options.baseUrl + t)), this._addUrlArgsIfNecessaryToUrl(t)
        }, e.prototype.isShimmed = function (e) {
            return this.shimModules.hasOwnProperty(e)
        }, e.prototype.isBuild = function () {
            return this.options.isBuild
        }, e.prototype.getShimmedModuleDefine = function (e) {
            return this.shimModules[e]
        }, e.prototype.getShimmedModulesStr = function (e) {
            return this.shimModulesStr[e]
        }, e.prototype.isDuplicateMessageIgnoredFor = function (e) {
            return this.ignoreDuplicateModulesMap.hasOwnProperty(e)
        }, e.prototype.getConfigForModule = function (e) {
            return this.options.config ? this.options.config[e] : void 0
        }, e.prototype.shouldCatchError = function () {
            return this.options.catchError
        }, e.prototype.shouldRecordStats = function () {
            return this.options.recordStats
        }, e.prototype.onError = function (e) {
            this.options.onError(e)
        }, e
    }();
    e.Configuration = d;
    var c = function () {
        function e(e, t) {
            this._config = e;
            var n = t.lastIndexOf("/");
            -1 !== n ? this.fromModulePath = t.substr(0, n + 1) : this.fromModulePath = ""
        }

        return e.prototype.isBuild = function () {
            return this._config.isBuild()
        }, e._normalizeModuleId = function (e) {
            var t, n = e;
            for (t = /\/\.\//; t.test(n);) n = n.replace(t, "/");
            for (n = n.replace(/^\.\//g, ""), t = /\/(([^\/])|([^\/][^\/\.])|([^\/\.][^\/])|([^\/][^\/][^\/]+))\/\.\.\//; t.test(n);) n = n.replace(t, "/");
            return n = n.replace(/^(([^\/])|([^\/][^\/\.])|([^\/\.][^\/])|([^\/][^\/][^\/]+))\/\.\.\//, "")
        }, e.prototype.resolveModule = function (t) {
            var n = t;
            return l.isAbsolutePath(n) || (l.startsWith(n, "./") || l.startsWith(n, "../")) && (n = e._normalizeModuleId(this.fromModulePath + n)), n
        }, e.prototype.moduleIdToPaths = function (e) {
            var t = this._config.moduleIdToPaths(e);
            return P && -1 === e.indexOf("/") && t.push("node|" + this.fromModulePath + "|" + e), t
        }, e.prototype.requireToUrl = function (e) {
            return this._config.requireToUrl(e)
        }, e.prototype.shouldCatchError = function () {
            return this._config.shouldCatchError()
        }, e.prototype.onError = function (e) {
            this._config.onError(e)
        }, e
    }();
    e.ModuleIdResolver = c;
    var h = function () {
        function e(e, t, n, r, o, i, s, u) {
            void 0 === u && (u = null), this._id = e, this._dependencies = t, this._dependenciesValues = [], this._callback = n, this._errorback = r, this._recorder = o, this._moduleIdResolver = i, this._exports = {}, this._exportsPassedIn = !1, this._config = s, this._defineCallStack = u, this._digestDependencies(), 0 === this._unresolvedDependenciesCount && this._complete()
        }

        return e.prototype._digestDependencies = function () {
            var e = this;
            this._unresolvedDependenciesCount = this._dependencies.length, this._normalizedDependencies = [], this._managerDependencies = [], this._managerDependenciesMap = {};
            var t, n, r;
            for (t = 0, n = this._dependencies.length; n > t; t++) if (r = this._dependencies[t]) if ("exports" === r) this._exportsPassedIn = !0, this._normalizedDependencies[t] = r, this._dependenciesValues[t] = this._exports, this._unresolvedDependenciesCount--; else if ("module" === r) this._normalizedDependencies[t] = r, this._dependenciesValues[t] = {
                id: this._id,
                config: function () {
                    return e._config
                }
            }, this._unresolvedDependenciesCount--; else if ("require" === r) this._normalizedDependencies[t] = r, this.addManagerDependency(r, t); else {
                var o = r.indexOf("!");
                if (o >= 0) {
                    var i = r.substring(0, o), s = r.substring(o + 1, r.length);
                    r = this._moduleIdResolver.resolveModule(i) + "!" + s
                } else r = this._moduleIdResolver.resolveModule(r);
                this._normalizedDependencies[t] = r, this.addManagerDependency(r, t)
            } else console.warn("Please check module " + this._id + ", the dependency list looks broken"), this._normalizedDependencies[t] = r, this._dependenciesValues[t] = null, this._unresolvedDependenciesCount--
        }, e.prototype.addManagerDependency = function (e, t) {
            if (this._managerDependenciesMap.hasOwnProperty(e)) throw new Error("Module " + this._id + " contains multiple times a dependency to " + e);
            this._managerDependencies.push(e), this._managerDependenciesMap[e] = t
        }, e.prototype.renameDependency = function (e, t) {
            if (!this._managerDependenciesMap.hasOwnProperty(e)) throw new Error("Loader: Cannot rename an unknown dependency!");
            var n = this._managerDependenciesMap[e];
            delete this._managerDependenciesMap[e], this._managerDependenciesMap[t] = n, this._normalizedDependencies[n] = t
        }, e.prototype.getId = function () {
            return this._id
        }, e.prototype.getModuleIdResolver = function () {
            return this._moduleIdResolver
        }, e.prototype.isExportsPassedIn = function () {
            return this._exportsPassedIn
        }, e.prototype.getExports = function () {
            return this._exports
        }, e.prototype.getDependencies = function () {
            return this._managerDependencies
        }, e.prototype.getNormalizedDependencies = function () {
            return this._normalizedDependencies
        }, e.prototype.getDefineCallStack = function () {
            return this._defineCallStack
        }, e.prototype._invokeFactory = function () {
            if (this._moduleIdResolver.isBuild() && !l.isAnonymousModule(this._id)) return {
                returnedValue: null,
                producedError: null
            };
            var e = null, t = null;
            if (this._moduleIdResolver.shouldCatchError()) try {
                t = this._callback.apply(I, this._dependenciesValues)
            } catch (n) {
                e = n
            } finally {
            } else t = this._callback.apply(I, this._dependenciesValues);
            return {returnedValue: t, producedError: e}
        }, e.prototype._complete = function () {
            var e = null;
            if (this._callback) if ("function" == typeof this._callback) {
                this._recorder.record(p.BeginInvokeFactory, this._id);
                var t = this._invokeFactory();
                e = t.producedError, this._recorder.record(p.EndInvokeFactory, this._id), e || "undefined" == typeof t.returnedValue || this._exportsPassedIn && !l.isEmpty(this._exports) || (this._exports = t.returnedValue)
            } else this._exports = this._callback;
            e && this.getModuleIdResolver().onError({errorCode: "factory", moduleId: this._id, detail: e})
        }, e.prototype.cleanUp = function () {
            this._moduleIdResolver && !this._moduleIdResolver.isBuild() && (this._normalizedDependencies = null, this._moduleIdResolver = null), this._dependencies = null, this._dependenciesValues = null, this._callback = null, this._managerDependencies = null, this._managerDependenciesMap = null
        }, e.prototype.onDependencyError = function (e) {
            return this._errorback ? (this._errorback(e), !0) : !1
        }, e.prototype.resolveDependency = function (e, t) {
            if (!this._managerDependenciesMap.hasOwnProperty(e)) throw new Error("Cannot resolve a dependency I do not have!");
            this._dependenciesValues[this._managerDependenciesMap[e]] = t, delete this._managerDependenciesMap[e], this._unresolvedDependenciesCount--, 0 === this._unresolvedDependenciesCount && this._complete()
        }, e.prototype.isComplete = function () {
            return 0 === this._unresolvedDependenciesCount
        }, e
    }();
    e.Module = h, function (e) {
        e[e.LoaderAvailable = 1] = "LoaderAvailable", e[e.BeginLoadingScript = 10] = "BeginLoadingScript", e[e.EndLoadingScriptOK = 11] = "EndLoadingScriptOK", e[e.EndLoadingScriptError = 12] = "EndLoadingScriptError", e[e.BeginInvokeFactory = 21] = "BeginInvokeFactory", e[e.EndInvokeFactory = 22] = "EndInvokeFactory", e[e.NodeBeginEvaluatingScript = 31] = "NodeBeginEvaluatingScript", e[e.NodeEndEvaluatingScript = 32] = "NodeEndEvaluatingScript", e[e.NodeBeginNativeRequire = 33] = "NodeBeginNativeRequire", e[e.NodeEndNativeRequire = 34] = "NodeEndNativeRequire"
    }(e.LoaderEventType || (e.LoaderEventType = {}));
    var p = e.LoaderEventType, f = function () {
        function e(e, t, n) {
            this.type = e, this.detail = t, this.timestamp = n
        }

        return e
    }();
    e.LoaderEvent = f;
    var g = function () {
        function e(e) {
            this._events = [new f(p.LoaderAvailable, "", e)]
        }

        return e.prototype.record = function (e, t) {
            this._events.push(new f(e, t, n()))
        }, e.prototype.getEvents = function () {
            return this._events
        }, e
    }();
    e.LoaderEventRecorder = g;
    var y = function () {
        function e() {
        }

        return e.prototype.record = function (e, t) {
        }, e.prototype.getEvents = function () {
            return []
        }, e.INSTANCE = new e, e
    }();
    e.NullLoaderEventRecorder = y;
    var _ = function () {
        function e(e) {
            this._recorder = null, this._config = new d, this._scriptLoader = e, this._modules = {}, this._knownModules = {}, this._inverseDependencies = {}, this._dependencies = {}, this._inversePluginDependencies = {}, this._queuedDefineCalls = [], this._loadingScriptsCount = 0, this._resolvedScriptPaths = {}
        }

        return e._findRelevantLocationInStack = function (e, t) {
            for (var n = function (e) {
                return e.replace(/\\/g, "/")
            }, r = n(e), o = t.split(/\n/), i = 0; i < o.length; i++) {
                var s = o[i].match(/(.*):(\d+):(\d+)\)?$/);
                if (s) {
                    var u = s[1], l = s[2], a = s[3], d = Math.max(u.lastIndexOf(" ") + 1, u.lastIndexOf("(") + 1);
                    if (u = u.substr(d), u = n(u), u === r) {
                        var c = {line: parseInt(l, 10), col: parseInt(a, 10)};
                        return 1 === c.line && (c.col -= "(function (require, define, __filename, __dirname) { ".length), c
                    }
                }
            }
            throw new Error("Could not correlate define call site for needle " + e)
        }, e.prototype.getBuildInfo = function () {
            var t = this;
            return this._config.isBuild() ? Object.keys(this._modules).map(function (n) {
                var r = t._modules[n], o = t._resolvedScriptPaths[n] || null, i = r.getDefineCallStack();
                return {
                    id: n,
                    path: o,
                    defineLocation: o && i ? e._findRelevantLocationInStack(o, i) : null,
                    dependencies: r.getNormalizedDependencies(),
                    shim: t._config.isShimmed(n) ? t._config.getShimmedModulesStr(n) : null,
                    exports: r.getExports()
                }
            }) : null
        }, e.prototype.getRecorder = function () {
            return this._recorder || (this._config.shouldRecordStats() ? this._recorder = new g(D) : this._recorder = y.INSTANCE), this._recorder
        }, e.prototype.getLoaderEvents = function () {
            return this.getRecorder().getEvents()
        }, e.prototype.enqueueDefineModule = function (e, t, n) {
            0 === this._loadingScriptsCount ? this.defineModule(e, t, n, null, null) : this._queuedDefineCalls.push({
                id: e,
                stack: null,
                dependencies: t,
                callback: n
            })
        }, e.prototype.enqueueDefineAnonymousModule = function (e, t) {
            var n = null;
            this._config.isBuild() && (n = new Error("StackLocation").stack), this._queuedDefineCalls.push({
                id: null,
                stack: n,
                dependencies: e,
                callback: t
            })
        }, e.prototype.defineModule = function (e, t, n, r, o, i) {
            if (void 0 === i && (i = new c(this._config, e)), this._modules.hasOwnProperty(e)) return void(this._config.isDuplicateMessageIgnoredFor(e) || console.warn("Duplicate definition of module '" + e + "'"));
            var s = this._config.getConfigForModule(e), u = new h(e, t, n, r, this.getRecorder(), i, s, o);
            this._modules[e] = u, this._resolve(u)
        }, e.prototype._relativeRequire = function (e, t, n, r) {
            return "string" == typeof t ? this.synchronousRequire(t, e) : void this.defineModule(l.generateAnonymousModule(), t, n, r, null, e)
        }, e.prototype.synchronousRequire = function (e, t) {
            void 0 === t && (t = new c(this._config, e));
            var n = t.resolveModule(e), r = n.indexOf("!");
            if (r >= 0) {
                var o = n.substring(0, r), i = n.substring(r + 1, n.length), s = {};
                this._modules.hasOwnProperty(o) && (s = this._modules[o]);
                var u = function (e) {
                    return t.resolveModule(e)
                };
                i = "function" == typeof s.normalize ? s.normalize(i, u) : u(i), n = o + "!" + i
            }
            if (!this._modules.hasOwnProperty(n)) throw new Error("Check dependency list! Synchronous require cannot resolve module '" + n + "'. This is the first mention of this module!");
            var l = this._modules[n];
            if (!l.isComplete()) throw new Error("Check dependency list! Synchronous require cannot resolve module '" + n + "'. This module has not been resolved completely yet.");
            return l.getExports()
        }, e.prototype.configure = function (e, t) {
            var n = this._config.shouldRecordStats();
            t ? this._config = new d(e) : this._config = this._config.cloneAndMerge(e), this._config.shouldRecordStats() && !n && (this._recorder = null)
        }, e.prototype.getConfigurationOptions = function () {
            return this._config.getOptionsLiteral()
        }, e.prototype._onLoad = function (e) {
            var t;
            if (this._loadingScriptsCount--, this._config.isShimmed(e)) t = this._config.getShimmedModuleDefine(e), this.defineModule(e, t.dependencies, t.callback, null, t.stack); else if (0 === this._queuedDefineCalls.length) console.warn("No define call received from module " + e + ". This might be a problem."); else for (; this._queuedDefineCalls.length > 0;) {
                if (t = this._queuedDefineCalls.shift(), t.id === e || null === t.id) {
                    t.id = e, this.defineModule(t.id, t.dependencies, t.callback, null, t.stack);
                    break
                }
                this.defineModule(t.id, t.dependencies, t.callback, null, t.stack)
            }
            if (0 === this._loadingScriptsCount) for (; this._queuedDefineCalls.length > 0;) t = this._queuedDefineCalls.shift(), null === t.id ? (console.warn("Found an unmatched anonymous define call in the define queue. Ignoring it!"), console.warn(t.callback)) : this.defineModule(t.id, t.dependencies, t.callback, null, t.stack)
        }, e.prototype._onLoadError = function (e, t) {
            this._loadingScriptsCount--;
            var n, r = {
                errorCode: "load",
                moduleId: e,
                neededBy: this._inverseDependencies[e] ? this._inverseDependencies[e].slice(0) : [],
                detail: t
            }, o = {}, i = !1, s = [];
            for (s.push(e), o[e] = !0; s.length > 0;) if (n = s.shift(), this._modules[n] && (i = this._modules[n].onDependencyError(r) || i), this._inverseDependencies[n]) for (var u = 0, l = this._inverseDependencies[n].length; l > u; u++) o.hasOwnProperty(this._inverseDependencies[n][u]) || (s.push(this._inverseDependencies[n][u]), o[this._inverseDependencies[n][u]] = !0);
            i || this._config.onError(r)
        }, e.prototype._onModuleComplete = function (e, t) {
            var n, r, o, i;
            if (delete this._dependencies[e], this._inverseDependencies.hasOwnProperty(e)) {
                var s = this._inverseDependencies[e];
                for (delete this._inverseDependencies[e], n = 0, r = s.length; r > n; n++) o = s[n], i = this._modules[o], i.resolveDependency(e, t), i.isComplete() && this._onModuleComplete(o, i.getExports())
            }
            if (this._inversePluginDependencies.hasOwnProperty(e)) {
                var u = this._inversePluginDependencies[e];
                for (delete this._inversePluginDependencies[e], n = 0, r = u.length; r > n; n++) {
                    var a = u[n].moduleId, d = this._modules[a];
                    this._resolvePluginDependencySync(a, u[n].dependencyId, t), d.isComplete() && this._onModuleComplete(a, d.getExports())
                }
            }
            l.isAnonymousModule(e) ? (delete this._modules[e], delete this._dependencies[e]) : this._modules[e].cleanUp()
        }, e.prototype._hasDependencyPath = function (e, t) {
            var n, r, o, i, s, u = {}, l = [];
            for (l.push(e), u[e] = !0; l.length > 0;) if (o = l.shift(), this._dependencies.hasOwnProperty(o)) for (i = this._dependencies[o], n = 0, r = i.length; r > n; n++) {
                if (s = i[n], s === t) return !0;
                u.hasOwnProperty(s) || (u[s] = !0, l.push(s))
            }
            return !1
        }, e.prototype._findCyclePath = function (e, t, n) {
            if (e === t || 50 === n) return [e];
            if (!this._dependencies.hasOwnProperty(e)) return null;
            for (var r, o = this._dependencies[e], i = 0, s = o.length; s > i; i++) if (r = this._findCyclePath(o[i], t, n + 1), null !== r) return r.push(e), r;
            return null
        }, e.prototype._createRequire = function (e) {
            var t = this, n = function (n, r, o) {
                return t._relativeRequire(e, n, r, o)
            };
            return n.toUrl = function (t) {
                return e.requireToUrl(e.resolveModule(t))
            }, n.getStats = function () {
                return t.getLoaderEvents()
            }, n.__$__nodeRequire = I.nodeRequire, n
        }, e.prototype._resolvePluginDependencySync = function (e, t, n) {
            var r = this, o = this._modules[e], i = o.getModuleIdResolver(), s = t.indexOf("!"), u = t.substring(0, s),
                l = t.substring(s + 1, t.length), a = function (e) {
                    return i.resolveModule(e)
                };
            if (l = "function" == typeof n.normalize ? n.normalize(l, a) : a(l), n.dynamic) {
                var d = function (n) {
                    o.resolveDependency(t, n), o.isComplete() && r._onModuleComplete(e, o.getExports())
                };
                d.error = function (n) {
                    r._config.onError({errorCode: "load", moduleId: t, neededBy: [e], detail: n})
                }, n.load(l, this._createRequire(i), d, this._config.getOptionsLiteral())
            } else {
                var c = t;
                t = u + "!" + l, o.renameDependency(c, t), this._resolveDependency(e, t, function (e) {
                    var o = function (e) {
                        r.defineModule(t, [], e, null, null)
                    };
                    o.error = function (e) {
                        r._config.onError({
                            errorCode: "load",
                            moduleId: t,
                            neededBy: r._inverseDependencies[t] ? r._inverseDependencies[t].slice(0) : [],
                            detail: e
                        })
                    }, n.load(l, r._createRequire(i), o, r._config.getOptionsLiteral())
                })
            }
        }, e.prototype._resolvePluginDependencyAsync = function (e, t) {
            var n = this._modules[e], r = t.indexOf("!"), o = t.substring(0, r);
            this._inversePluginDependencies[o] = this._inversePluginDependencies[o] || [], this._inversePluginDependencies[o].push({
                moduleId: e,
                dependencyId: t
            }), this._modules.hasOwnProperty(o) || this._knownModules.hasOwnProperty(o) || (this._knownModules[o] = !0, this._loadModule(n.getModuleIdResolver(), o))
        }, e.prototype._resolvePluginDependency = function (e, t) {
            var n = t.indexOf("!"), r = t.substring(0, n);
            this._modules.hasOwnProperty(r) && this._modules[r].isComplete() ? this._resolvePluginDependencySync(e, t, this._modules[r].getExports()) : this._resolvePluginDependencyAsync(e, t)
        }, e.prototype._resolveShimmedDependency = function (e, t, n) {
            var r = this._config.getShimmedModuleDefine(t);
            r.dependencies.length > 0 ? this.defineModule(l.generateAnonymousModule(), r.dependencies, function () {
                return n(t)
            }, null, null, new c(this._config, t)) : n(t)
        }, e.prototype._resolveDependency = function (e, t, n) {
            var r = this._modules[e];
            if (this._modules.hasOwnProperty(t) && this._modules[t].isComplete()) r.resolveDependency(t, this._modules[t].getExports()); else if (this._dependencies[e].push(t), this._hasDependencyPath(t, e)) {
                console.warn("There is a dependency cycle between '" + t + "' and '" + e + "'. The cyclic path follows:");
                var o = this._findCyclePath(t, e, 0);
                o.reverse(), o.push(t), console.warn(o.join(" => \n"));
                var i, s = this._modules.hasOwnProperty(t) ? this._modules[t] : null;
                s && s.isExportsPassedIn() && (i = s.getExports()), r.resolveDependency(t, i)
            } else this._inverseDependencies[t] = this._inverseDependencies[t] || [], this._inverseDependencies[t].push(e), this._modules.hasOwnProperty(t) || this._knownModules.hasOwnProperty(t) || (this._knownModules[t] = !0, this._config.isShimmed(t) ? this._resolveShimmedDependency(e, t, n) : n(t))
        }, e.prototype._loadModule = function (e, t) {
            var n = this;
            this._loadingScriptsCount++;
            var r = e.moduleIdToPaths(t), o = -1, i = function (e) {
                if (o++, o >= r.length) n._onLoadError(t, e); else {
                    var s = r[o], u = n.getRecorder();
                    if (n._config.isBuild() && "empty:" === s) return n._resolvedScriptPaths[t] = s, n.enqueueDefineModule(t, [], null), void n._onLoad(t);
                    u.record(p.BeginLoadingScript, s), n._scriptLoader.load(s, function () {
                        n._config.isBuild() && (n._resolvedScriptPaths[t] = s), u.record(p.EndLoadingScriptOK, s), n._onLoad(t)
                    }, function (e) {
                        u.record(p.EndLoadingScriptError, s), i(e)
                    }, u)
                }
            };
            i(null)
        }, e.prototype._resolve = function (e) {
            var t, n, r, o, i, s, u = this;
            r = e.getId(), o = e.getDependencies(), s = e.getModuleIdResolver(), this._dependencies[r] = [];
            var l = function (e) {
                return u._loadModule(s, e)
            };
            for (t = 0, n = o.length; n > t; t++) i = o[t], "require" !== i ? i.indexOf("!") >= 0 ? this._resolvePluginDependency(r, i) : this._resolveDependency(r, i, l) : e.resolveDependency(i, this._createRequire(s));
            e.isComplete() && this._onModuleComplete(r, e.getExports())
        }, e
    }();
    e.ModuleManager = _;
    var v, m, M, P, E, b, D, S = function () {
        function e(e) {
            this.actualScriptLoader = e, this.callbackMap = {}
        }

        return e.prototype.setModuleManager = function (e) {
            this.actualScriptLoader.setModuleManager(e)
        }, e.prototype.load = function (e, t, n, r) {
            var o = this, i = {callback: t, errorback: n};
            return this.callbackMap.hasOwnProperty(e) ? void this.callbackMap[e].push(i) : (this.callbackMap[e] = [i], void this.actualScriptLoader.load(e, function () {
                return o.triggerCallback(e)
            }, function (t) {
                return o.triggerErrorback(e, t)
            }, r))
        }, e.prototype.triggerCallback = function (e) {
            var t = this.callbackMap[e];
            delete this.callbackMap[e];
            for (var n = 0; n < t.length; n++) t[n].callback()
        }, e.prototype.triggerErrorback = function (e, t) {
            var n = this.callbackMap[e];
            delete this.callbackMap[e];
            for (var r = 0; r < n.length; r++) n[r].errorback(t)
        }, e
    }(), L = function () {
        function e() {
        }

        return e.prototype.attachListenersV1 = function (e, t, n) {
            var r = function () {
                e.detachEvent("onreadystatechange", o), e.addEventListener && e.removeEventListener("error", i)
            }, o = function (n) {
                ("loaded" === e.readyState || "complete" === e.readyState) && (r(), t())
            }, i = function (e) {
                r(), n(e)
            };
            e.attachEvent("onreadystatechange", o), e.addEventListener && e.addEventListener("error", i)
        }, e.prototype.attachListenersV2 = function (e, t, n) {
            var r = function () {
                e.removeEventListener("load", o), e.removeEventListener("error", i)
            }, o = function (e) {
                r(), t()
            }, i = function (e) {
                r(), n(e)
            };
            e.addEventListener("load", o), e.addEventListener("error", i)
        }, e.prototype.setModuleManager = function (e) {
        }, e.prototype.load = function (e, t, n) {
            var r = document.createElement("script");
            r.setAttribute("async", "async"), r.setAttribute("type", "text/javascript"), I.attachEvent ? this.attachListenersV1(r, t, n) : this.attachListenersV2(r, t, n), r.setAttribute("src", e), document.getElementsByTagName("head")[0].appendChild(r)
        }, e
    }(), k = function () {
        function e() {
            this.loadCalls = [], this.loadTimeout = -1
        }

        return e.prototype.setModuleManager = function (e) {
        }, e.prototype.load = function (e, t, n) {
            var r = this;
            this.loadCalls.push({
                scriptSrc: e,
                callback: t,
                errorback: n
            }), navigator.userAgent.indexOf("Firefox") >= 0 ? this._load() : -1 === this.loadTimeout && (this.loadTimeout = setTimeout(function () {
                r.loadTimeout = -1, r._load()
            }, 0))
        }, e.prototype._load = function () {
            var e = this.loadCalls;
            this.loadCalls = [];
            var t, n = e.length, r = [];
            for (t = 0; n > t; t++) r.push(e[t].scriptSrc);
            var o = !1;
            try {
                importScripts.apply(null, r)
            } catch (i) {
                for (o = !0, t = 0; n > t; t++) e[t].errorback(i)
            }
            if (!o) for (t = 0; n > t; t++) e[t].callback()
        }, e
    }(), w = function () {
        function e() {
            this._initialized = !1
        }

        return e.prototype.setModuleManager = function (e) {
            this._moduleManager = e
        }, e.prototype._init = function (e) {
            this._initialized || (this._initialized = !0, this._fs = e("fs"), this._vm = e("vm"), this._path = e("path"))
        }, e.prototype.load = function (t, n, r, o) {
            var i = this, s = this._moduleManager.getConfigurationOptions(), u = s.nodeRequire || I.nodeRequire,
                a = s.nodeInstrumenter || function (e) {
                    return e
                };
            if (this._init(u), /^node\|/.test(t)) {
                var d = t.split("|"), c = null;
                try {
                    o.record(p.NodeBeginNativeRequire, d[2]), c = u(d[2])
                } catch (h) {
                    return o.record(p.NodeEndNativeRequire, d[2]), void r(h)
                }
                o.record(p.NodeEndNativeRequire, d[2]), this._moduleManager.enqueueDefineAnonymousModule([], function () {
                    return c
                }), n()
            } else t = l.fileUriToFilePath(t), this._fs.readFile(t, {encoding: "utf8"}, function (s, u) {
                if (s) return void r(s);
                o.record(p.NodeBeginEvaluatingScript, t);
                var l = i._path.normalize(t);
                if (m) {
                    var d = l.match(/^([a-z])\:(.*)/);
                    d && (l = d[1].toUpperCase() + ":" + d[2]), l = "file:///" + l.replace(/\\/g, "/")
                }
                var c, h = "(function (require, define, __filename, __dirname) { ", f = "\n});";
                c = u.charCodeAt(0) === e._BOM ? h + u.substring(1) + f : h + u + f, c = a(c, l);
                var g;
                g = /^v0\.12/.test(process.version) ? i._vm.runInThisContext(c, {filename: l}) : i._vm.runInThisContext(c, l), g.call(I, A, C, l, i._path.dirname(t)), o.record(p.NodeEndEvaluatingScript, t), n()
            })
        }, e._BOM = 65279, e
    }(), C = function () {
        function e(e, t, n) {
            "string" != typeof e && (n = t, t = e, e = null), "object" == typeof t && l.isArray(t) || (n = t, t = null), t || (t = ["require", "exports", "module"]), e ? b.enqueueDefineModule(e, t, n) : b.enqueueDefineAnonymousModule(t, n)
        }

        return e.amd = {jQuery: !0}, e
    }(), A = function () {
        function e() {
            if (1 === arguments.length) {
                if (arguments[0] instanceof Object && !l.isArray(arguments[0])) return void e.config(arguments[0]);
                if ("string" == typeof arguments[0]) return b.synchronousRequire(arguments[0])
            }
            if ((2 === arguments.length || 3 === arguments.length) && l.isArray(arguments[0])) return void b.defineModule(l.generateAnonymousModule(), arguments[0], arguments[1], arguments[2], null);
            throw new Error("Unrecognized require call")
        }

        return e.config = function (e, t) {
            void 0 === t && (t = !1), b.configure(e, t)
        }, e.getConfig = function () {
            return b.getConfigurationOptions()
        }, e.reset = function () {
            b = new _(E), E.setModuleManager(b)
        }, e.getBuildInfo = function () {
            return b.getBuildInfo()
        }, e.getStats = function () {
            return b.getLoaderEvents()
        }, e
    }(), I = _amdLoaderGlobal, x = I.performance && "function" == typeof I.performance.now;
    "function" == typeof I.define && I.define.amd || (s(), D = n())
}(AMDLoader || (AMDLoader = {}));
var __extends = this && this.__extends || function (e, t) {
    function n() {
        this.constructor = e
    }

    for (var r in t) t.hasOwnProperty(r) && (e[r] = t[r]);
    n.prototype = t.prototype, e.prototype = new n
}, _cssPluginGlobal = this, CSSLoaderPlugin;
!function (e) {
    var t = _cssPluginGlobal, n = function () {
        function e() {
            this._pendingLoads = 0
        }

        return e.prototype.attachListeners = function (e, t, n, r) {
            var o = function () {
                t.removeEventListener("load", i), t.removeEventListener("error", s)
            }, i = function (e) {
                o(), n()
            }, s = function (e) {
                o(), r(e)
            };
            t.addEventListener("load", i), t.addEventListener("error", s)
        }, e.prototype._onLoad = function (e, t) {
            this._pendingLoads--, t()
        }, e.prototype._onLoadError = function (e, t, n) {
            this._pendingLoads--, t(n)
        }, e.prototype._insertLinkNode = function (e) {
            this._pendingLoads++;
            var t = document.head || document.getElementsByTagName("head")[0],
                n = t.getElementsByTagName("link") || document.head.getElementsByTagName("script");
            n.length > 0 ? t.insertBefore(e, n[n.length - 1]) : t.appendChild(e)
        }, e.prototype.createLinkTag = function (e, t, n, r) {
            var o = this, i = document.createElement("link");
            i.setAttribute("rel", "stylesheet"), i.setAttribute("type", "text/css"), i.setAttribute("data-name", e);
            var s = function () {
                return o._onLoad(e, n)
            }, u = function (t) {
                return o._onLoadError(e, r, t)
            };
            return this.attachListeners(e, i, s, u), i.setAttribute("href", t), i
        }, e.prototype._linkTagExists = function (e, t) {
            var n, r, o, i, s = document.getElementsByTagName("link");
            for (n = 0, r = s.length; r > n; n++) if (o = s[n].getAttribute("data-name"), i = s[n].getAttribute("href"), o === e || i === t) return !0;
            return !1
        }, e.prototype.load = function (e, t, n, r) {
            if (this._linkTagExists(e, t)) return void n();
            var o = this.createLinkTag(e, t, n, r);
            this._insertLinkNode(o)
        }, e
    }(), r = function (e) {
        function t() {
            e.call(this), this._blockedLoads = [], this._mergeStyleSheetsTimeout = -1
        }

        return __extends(t, e), t.prototype.load = function (e, t, n, r) {
            if (this._linkTagExists(e, t)) return void n();
            var o = this.createLinkTag(e, t, n, r);
            this._styleSheetCount() < 31 ? this._insertLinkNode(o) : (this._blockedLoads.push(o), this._handleBlocked())
        }, t.prototype._styleSheetCount = function () {
            var e = document.getElementsByTagName("link").length, t = document.getElementsByTagName("style").length;
            return e + t
        }, t.prototype._onLoad = function (t, n) {
            e.prototype._onLoad.call(this, t, n), this._handleBlocked()
        }, t.prototype._onLoadError = function (t, n, r) {
            e.prototype._onLoadError.call(this, t, n, r), this._handleBlocked()
        }, t.prototype._handleBlocked = function () {
            var e = this, t = this._blockedLoads.length;
            t > 0 && -1 === this._mergeStyleSheetsTimeout && (this._mergeStyleSheetsTimeout = window.setTimeout(function () {
                return e._mergeStyleSheets()
            }, 0))
        }, t.prototype._mergeStyleSheet = function (e, t, n, r) {
            for (var o = r.rules.length - 1; o >= 0; o--) t.insertRule(u.rewriteUrls(n, e, r.rules[o].cssText), 0)
        }, t.prototype._asIE9HTMLLinkElement = function (e) {
            return e
        }, t.prototype._mergeStyleSheets = function () {
            this._mergeStyleSheetsTimeout = -1;
            var e, t = this._blockedLoads.length, n = document.getElementsByTagName("link"), r = n.length, o = [];
            for (e = 0; r > e; e++) ("loaded" === n[e].readyState || "complete" === n[e].readyState) && o.push({
                linkNode: n[e],
                rulesLength: this._asIE9HTMLLinkElement(n[e]).styleSheet.rules.length
            });
            var i = o.length, s = Math.min(Math.floor(i / 2), t);
            o.sort(function (e, t) {
                return t.rulesLength - e.rulesLength
            });
            var u, l;
            for (e = 0; s > e; e++) u = o.length - 1 - e, l = e % (o.length - s), this._mergeStyleSheet(o[l].linkNode.href, this._asIE9HTMLLinkElement(o[l].linkNode).styleSheet, o[u].linkNode.href, this._asIE9HTMLLinkElement(o[u].linkNode).styleSheet), o[u].linkNode.parentNode.removeChild(o[u].linkNode), r--;
            for (var a = this._styleSheetCount(); 31 > a && this._blockedLoads.length > 0;) this._insertLinkNode(this._blockedLoads.shift()), a++
        }, t
    }(n), o = function (e) {
        function t() {
            e.call(this)
        }

        return __extends(t, e), t.prototype.attachListeners = function (e, t, n, r) {
            t.onload = function () {
                t.onload = null, n()
            }
        }, t
    }(r), i = function () {
        function e() {
            this.fs = require.nodeRequire("fs")
        }

        return e.prototype.load = function (t, n, r, o) {
            var i = this.fs.readFileSync(n, "utf8");
            i.charCodeAt(0) === e.BOM_CHAR_CODE && (i = i.substring(1)), r(i)
        }, e.BOM_CHAR_CODE = 65279, e
    }(), s = function () {
        function e(e) {
            this.cssLoader = e
        }

        return e.prototype.load = function (t, n, r, o) {
            o = o || {};
            var i = n.toUrl(t + ".css");
            this.cssLoader.load(t, i, function (n) {
                o.isBuild && (e.BUILD_MAP[t] = n), r({})
            }, function (e) {
                "function" == typeof r.error && r.error("Could not find " + i + " or it was empty")
            })
        }, e.prototype.write = function (n, r, o) {
            var i = o.getEntryPoint();
            t.cssPluginEntryPoints = t.cssPluginEntryPoints || {}, t.cssPluginEntryPoints[i] = t.cssPluginEntryPoints[i] || [], t.cssPluginEntryPoints[i].push({
                moduleName: r,
                contents: e.BUILD_MAP[r]
            }), o.asModule(n + "!" + r, "define(['vs/css!" + i + "'], {});")
        }, e.prototype.writeFile = function (e, n, r, o, i) {
            if (t.cssPluginEntryPoints && t.cssPluginEntryPoints.hasOwnProperty(n)) {
                for (var s = r.toUrl(n + ".css"), l = ["/*---------------------------------------------------------", " * Copyright (C) Microsoft Corporation. All rights reserved.", " *--------------------------------------------------------*/"], a = t.cssPluginEntryPoints[n], d = 0; d < a.length; d++) l.push(u.rewriteUrls(a[d].moduleName, n, a[d].contents));
                o(s, l.join("\r\n"))
            }
        }, e.BUILD_MAP = {}, e
    }();
    e.CSSPlugin = s;
    var u = function () {
        function e() {
        }

        return e.startsWith = function (e, t) {
            return e.length >= t.length && e.substr(0, t.length) === t
        }, e.pathOf = function (e) {
            var t = e.lastIndexOf("/");
            return -1 !== t ? e.substr(0, t + 1) : ""
        }, e.joinPaths = function (t, n) {
            function r(t, n) {
                return e.startsWith(t, n) ? Math.max(n.length, t.indexOf("/", n.length)) : 0
            }

            function o(e, t) {
                if ("./" !== t) {
                    if ("../" === t) {
                        var n = e.length > 0 ? e[e.length - 1] : null;
                        if (n && "/" === n) return;
                        if (n && "../" !== n) return void e.pop()
                    }
                    e.push(t)
                }
            }

            function i(e, t) {
                for (; t.length > 0;) {
                    var n = t.indexOf("/"), r = n >= 0 ? t.substring(0, n + 1) : t;
                    t = n >= 0 ? t.substring(n + 1) : "", o(e, r)
                }
            }

            var s = 0;
            s = s || r(t, "//"), s = s || r(t, "http://"), s = s || r(t, "https://");
            var u = [];
            return i(u, t.substr(s)), n.length > 0 && "/" === n.charAt(0) && (u = []), i(u, n), t.substring(0, s) + u.join("")
        }, e.commonPrefix = function (e, t) {
            for (var n = Math.min(e.length, t.length), r = 0; n > r && e.charCodeAt(r) === t.charCodeAt(r); r++) ;
            return e.substring(0, r)
        }, e.commonFolderPrefix = function (t, n) {
            var r = e.commonPrefix(t, n), o = r.lastIndexOf("/");
            return -1 === o ? "" : r.substring(0, o + 1)
        }, e.relativePath = function (t, n) {
            if (e.startsWith(n, "/") || e.startsWith(n, "http://") || e.startsWith(n, "https://")) return n;
            var r = e.commonFolderPrefix(t, n);
            t = t.substr(r.length), n = n.substr(r.length);
            for (var o = t.split("/").length, i = "", s = 1; o > s; s++) i += "../";
            return i + n
        }, e.rewriteUrls = function (t, n, r) {
            return r.replace(/url\(\s*([^\)]+)\s*\)?/g, function (r) {
                for (var o = [], i = 1; i < arguments.length; i++) o[i - 1] = arguments[i];
                var s = o[0];
                for (('"' === s.charAt(0) || "'" === s.charAt(0)) && (s = s.substring(1)); s.length > 0 && (" " === s.charAt(s.length - 1) || "	" === s.charAt(s.length - 1));) s = s.substring(0, s.length - 1);
                if (('"' === s.charAt(s.length - 1) || "'" === s.charAt(s.length - 1)) && (s = s.substring(0, s.length - 1)), !e.startsWith(s, "data:") && !e.startsWith(s, "http://") && !e.startsWith(s, "https://")) {
                    var u = e.joinPaths(e.pathOf(t), s);
                    s = e.relativePath(n, u)
                }
                return "url(" + s + ")"
            })
        }, e
    }();
    e.Utilities = u, function () {
        var e = null,
            t = "undefined" != typeof process && "undefined" != typeof process.versions && "undefined" != typeof process.versions.electron;
        e = "undefined" != typeof process && process.versions && process.versions.node && !t ? new i : "undefined" != typeof navigator && navigator.userAgent.indexOf("MSIE 9") >= 0 ? new r : "undefined" != typeof navigator && navigator.userAgent.indexOf("MSIE 8") >= 0 ? new o : new n, define("vs/css", new s(e))
    }()
}(CSSLoaderPlugin || (CSSLoaderPlugin = {}));
var _nlsPluginGlobal = this, NLSLoaderPlugin;
!function (e) {
    function t(e, t) {
        var n;
        return n = 0 === t.length ? e : e.replace(/\{(\d+)\}/g, function (e, n) {
            var r = n[0];
            return "undefined" != typeof t[r] ? t[r] : e
        }), l && (n = "［" + n.replace(/[aouei]/g, "$&$&") + "］"), n
    }

    function n(e, t) {
        var n = e[t];
        return n ? n : (n = e["*"], n ? n : null)
    }

    function r(e, n) {
        for (var r = [], o = 0; o < arguments.length - 2; o++) r[o] = arguments[o + 2];
        return t(n, r)
    }

    function o(e) {
        return function (n, r) {
            var o = a.call(arguments, 2);
            return t(e[n], o)
        }
    }

    var i = _nlsPluginGlobal, s = i.Plugin && i.Plugin.Resources ? i.Plugin.Resources : void 0, u = "i-default",
        l = i && i.document && i.document.URL.match(/[^\?]*\?[^\#]*pseudo=true/), a = Array.prototype.slice,
        d = function () {
            function e() {
                this.localize = r
            }

            return e.prototype.create = function (e, t) {
                return {localize: o(t[e])}
            }, e.prototype.load = function (t, i, l, a) {
                if (a = a || {}, t && 0 !== t.length) {
                    var d;
                    if (s) d = ".nls.keys", i([t + d], function (e) {
                        l({
                            localize: function (t, n) {
                                if (!e[t]) return "NLS error: unknown key " + t;
                                var r = e[t].keys;
                                if (n >= r.length) return "NLS error unknow index " + n;
                                var o = r[n], i = [];
                                i[0] = t + "_" + o;
                                for (var u = 0; u < arguments.length - 2; u++) i[u + 1] = arguments[u + 2];
                                return s.getString.apply(s, i)
                            }
                        })
                    }); else if (a.isBuild) i([t + ".nls", t + ".nls.keys"], function (n, r) {
                        e.BUILD_MAP[t] = n, e.BUILD_MAP_KEYS[t] = r, l(n)
                    }); else {
                        var c = a["vs/nls"] || {}, h = c.availableLanguages ? n(c.availableLanguages, t) : null;
                        d = ".nls", null !== h && h !== u && (d = d + "." + h), i([t + d], function (e) {
                            Array.isArray(e) ? e.localize = o(e) : e.localize = o(e[t]), l(e)
                        })
                    }
                } else l({localize: r})
            }, e.prototype._getEntryPointsMap = function () {
                return i.nlsPluginEntryPoints = i.nlsPluginEntryPoints || {}, i.nlsPluginEntryPoints
            }, e.prototype.write = function (e, t, n) {
                var r = n.getEntryPoint(), o = this._getEntryPointsMap();
                o[r] = o[r] || [], o[r].push(t), t !== r && n.asModule(e + "!" + t, "define(['vs/nls', 'vs/nls!" + r + "'], function(nls, data) { return nls.create(\"" + t + '", data); });')
            }, e.prototype.writeFile = function (t, n, r, o, i) {
                var s = this._getEntryPointsMap();
                if (s.hasOwnProperty(n)) {
                    for (var u = r.toUrl(n + ".nls.js"), l = ["/*---------------------------------------------------------", " * Copyright (C) Microsoft Corporation. All rights reserved.", " *--------------------------------------------------------*/"], a = s[n], d = {}, c = 0; c < a.length; c++) d[a[c]] = e.BUILD_MAP[a[c]];
                    l.push('define("' + n + '.nls", ' + JSON.stringify(d, null, "	") + ");"), o(u, l.join("\r\n"))
                }
            }, e.prototype.finishBuild = function (t) {
                t("nls.metadata.json", JSON.stringify({
                    keys: e.BUILD_MAP_KEYS,
                    messages: e.BUILD_MAP,
                    bundles: this._getEntryPointsMap()
                }, null, "	"))
            }, e.BUILD_MAP = {}, e.BUILD_MAP_KEYS = {}, e
        }();
    e.NLSPlugin = d, function () {
        define("vs/nls", new d)
    }()
}(NLSLoaderPlugin || (NLSLoaderPlugin = {}));
var TextLoaderPlugin;
!function (e) {
    function t(e, t) {
        var n = 65279, r = e.readFileSync(t, "utf8");
        return r.charCodeAt(0) === n && (r = r.substring(1)), r
    }

    var n = function () {
        function e() {
        }

        return e.prototype.load = function (e, t, n, r) {
            var o = new XMLHttpRequest;
            o.onreadystatechange = function () {
                4 === o.readyState && (o.status >= 200 && o.status < 300 || 1223 === o.status || 0 === o.status && o.responseText && o.responseText.length > 0 ? n(o.responseText) : r(o), o.onreadystatechange = null)
            }, o.open("GET", t, !0), o.responseType = "", o.setRequestHeader("X-Requested-With", "XMLHttpRequest"), o.send(null)
        }, e
    }(), r = function () {
        function e() {
            this.fs = require.nodeRequire("fs")
        }

        return e.prototype.load = function (e, n, r, o) {
            r(t(this.fs, n))
        }, e
    }(), o = function () {
        function e(e) {
            this.textLoader = e
        }

        return e.prototype.load = function (t, n, r, o) {
            o = o || {};
            var i = o["vs/text"] || {}, s = i.paths || {}, u = t;
            for (var l in s) s.hasOwnProperty(l) && 0 === t.indexOf(l) && (u = s[l] + t.substr(l.length));
            var a = n.toUrl(u);
            this.textLoader.load(t, a, function (n) {
                o.isBuild && (e.BUILD_MAP[t] = n), r(n)
            }, function (e) {
                "function" == typeof r.error && r.error("Could not find " + a)
            })
        }, e.prototype.write = function (t, n, r) {
            if (e.BUILD_MAP.hasOwnProperty(n)) {
                var o = i.escapeText(e.BUILD_MAP[n]);
                r('define("' + t + "!" + n + '", function () { return "' + o + '"; });')
            }
        }, e.BUILD_MAP = {}, e
    }();
    e.TextPlugin = o;
    var i = function () {
        function e() {
        }

        return e.escapeText = function (e) {
            for (var t, n = "\b".charCodeAt(0), r = "\f".charCodeAt(0), o = "\n".charCodeAt(0), i = 0, s = "\r".charCodeAt(0), u = "	".charCodeAt(0), l = "".charCodeAt(0), a = "\\".charCodeAt(0), d = '"'.charCodeAt(0), c = 0, h = null, p = [], f = 0, g = e.length; g > f; f++) {
                switch (t = e.charCodeAt(f)) {
                    case n:
                        h = "\\b";
                        break;
                    case r:
                        h = "\\f";
                        break;
                    case o:
                        h = "\\n";
                        break;
                    case i:
                        h = "\\0";
                        break;
                    case s:
                        h = "\\r";
                        break;
                    case u:
                        h = "\\t";
                        break;
                    case l:
                        h = "\\v";
                        break;
                    case a:
                        h = "\\\\";
                        break;
                    case d:
                        h = '\\"'
                }
                null !== h && (p.push(e.substring(c, f)), p.push(h), c = f + 1, h = null)
            }
            return p.push(e.substring(c, g)), p.join("")
        }, e
    }();
    e.Utilities = i, function () {
        var e = null,
            t = "undefined" != typeof process && "undefined" != typeof process.versions && "undefined" != typeof process.versions.electron;
        e = "undefined" != typeof process && process.versions && process.versions.node && !t ? new r : new n, define("vs/text", new o(e))
    }()
}(TextLoaderPlugin || (TextLoaderPlugin = {}));